home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.amiga.applications
- Path: fnnews.fnal.gov!unixhub!news
- From: wglp09@scsa1.slac.stanford.edu (W.G.J. Langeveld)
- Subject: Re: Any Maple Patches Needed/Available?
- Content-Type: text/plain; charset=iso-8859-1
- Message-ID: <DKzCLG.945@unixhub.SLAC.Stanford.EDU>
- Sender: news@unixhub.SLAC.Stanford.EDU
- Content-Transfer-Encoding: 8bit
- Organization: Stanford Linear Accelerator Center
- X-Newsreader: Interworks_GRn 3.0b11 September 9, 1995
- References: <51491923@heliosamiga.uni-frankfurt.de> <4a93iq$kph@natasha.rmii.com> <4apjp0$kva@ra.nrl.navy.mil> <66482050@stanley.zebra.fh-weingarten.de> <DKvyp7.48t@unixhub.SLAC.Stanford.EDU> <4cuvcs$gaj@sarajevo.bmc.com>
- Mime-Version: 1.0
- Date: Wed, 10 Jan 1996 19:24:52 GMT
-
- In article <4cuvcs$gaj@sarajevo.bmc.com> Joe Veazey <jveazey> writes:
- > PMFJI:
- >
- > What is the status of any patches etc. for Maple V R3 for the Amiga?
- > Specifically, the WorkBench palette problem, and fixes for any other bugs found
- > since release.
-
- I sent you the palette problem patch in e-mail, but I might as well post it
- again here in this newsgroup. There's no word yet on any other patches. It
- would probably be a good idea to directly request a patch release from
- Maplesoft - they do not monitor this news group, and whether or not any
- further patches will come about is their decision.
-
- Willy.
-
- -----------------------------------------------------------------------
- /** FixMapleVR3.rexx
- *
- * Applies patches to programs that require no major changes.
- * Just run from a shell.
- *
- * W.G.J. Langeveld, 3 October 1995.
- *
- **/
- progname = "MapleVR3"
- progloc = "maple:"
-
- patchtext.0 = 5
- patchtext.1 = "Before displaying the Maple logo, it changes the Workbench"
- patchtext.2 = "colors so the logo will be displayed in the proper colors."
- patchtext.3 = "Unfortunately, it doesn't restore the colors properly after"
- patchtext.4 = "it has displayed the logo - it restores pen 4 correctly,"
- patchtext.5 = "but changes pens 5, 6 and 7 to the same (pen 4's) color."
-
- patches.0 = 3
- patches.1.loc = 1353
- patches.2.loc = 1367
- patches.3.loc = 1381
- patches.1.before = '04'x
- patches.2.before = '04'x
- patches.3.before = '04'x
- patches.1.after = '05'x
- patches.2.after = '06'x
- patches.3.after = '07'x
-
- call Patch
-
- exit 0
-
-
- /**
- *
- * Simple general patch procedure
- *
- **/
- Patch: procedure expose progname progloc patchtext. patches.
- name = progloc || progname
-
- check = addlib('rexxsupport.library', 0, -30, 0)
-
- /*
- * Say what we're about to do
- */
- say "The currently shipping version of" progname "has the following bug."
- do i = 1 to patchtext.0
- say patchtext.i
- end
- say ""
- say "This program will patch this. It assumes" progname "is in" progloc
- say "and it will create a backup copy of" progname "before applying"
- say "the patch."
- say ""
- /*
- * Ask for permission
- */
- options prompt "Continue? [Y/N]: "
-
- do i = 1
- pull answer
- answer = substr(upper(strip(answer)), 1, 1)
- if answer = "Y" then leave
- else if answer = "N" then exit 0
- say "Invalid response."
- end
- /*
- * Check if file exists
- */
- if ~exists(name) then do
- say "Can't find" name ||"!"
- say "Aborting patch..."
- return 0
- end
-
- if ~open(infile, name, R) then do
- say "Can't open" name "for read access!"
- say "Aborting patch..."
- return 0
- end
- /*
- * Check the original values of the places to be patched
- */
- needpatch = 0
- do i = 1 to patches.0
- call seek(infile, patches.i.loc, "B")
- s = readch(infile, 1)
- if s ~= patches.i.before then do
- if s ~= patches.i.after then do
- say "File" name "is not the original file!"
- say "Aborting patch..."
- return 0
- end
- end
- else do
- needpatch = needpatch + 1
- end
- end
-
- call close(infile)
- /*
- * Check if we need the patch
- */
- if needpatch = 0 then do
- say "This patch was already applied!"
- return 0
- end
- /*
- * Make a backup
- */
- address COMMAND "copy" name name ||".backup"
- /*
- * Check it was indeed created
- */
- if ~exists(name || ".backup") then do
- say "Unable to create backup file!"
- say "Aborted..."
- exit 0
- end
- /*
- * Apply the patches for real
- */
- if ~open(infile, name, A) then do
- say "Can't open" name "for append access!"
- say "Aborted..."
- exit 0
- end
-
- do i = 1 to patches.0
- call seek(infile, patches.i.loc, "B")
- call writech(infile, patches.i.after)
- end
-
- call close(infile)
-
- say "Patch applied successfully!"
-
- return 0
- -----------------------------------------------------------------------
-
- --
- W.G.J. Langeveld - SLAC | e-mail: wglp09@scsa1.slac.stanford.edu
- | langeveld@bix.com
-